// 1.引入基础模块（必须）
import axios from "axios" //vue框架会自动引入安装的第三方模块(node_modules)
import qs from "qs";


let baseURL = ""
if (process.env.NODE_ENV == "development") {
    // baseURL = "http://localhost:3000" //本地服务（测试服务器==>本地 测试服务器==>远程）npm run serve
    baseURL = "https://api.aslegou.top" //为了测试方便使用远程地址
} else {
    baseURL = "https://api.aslegou.top" //生产服务器==>远程 npm run build
}

// 3.创建实例 设置一些常用的配置项 请求基础域名地址 header  请求方法  请求超时（必须）
const http = axios.create({
    baseURL //请求基础域名地址
})


// 4.设置请求拦截（必须）
http.interceptors.request.use((config) => {
    console.log('请求数据情况：', config)
    return config
}, () => {})

// 5.设置响应拦截（必须）
http.interceptors.response.use((res) => {
    return res
}, () => {})


export const getData = (url, params = {}) => {
    // 返回的是一个promise对象
    return http.get(url, {
        params
    })
}

export const postData = (url, params = {}) => {
    // 表单提交数据类型：字段类型数据 文件数据（img file video ）

    // 1.有文件上传(二进制文件流)
    // new FormData()

    // 2.无文件上传 application/x-www-form-urlencoded; 将对象数据转换成key=value格式
    let data = qs.stringify(params)
    return http.post(url, data)
}